home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / telecomm / bbs / tbbs093.lha / Programmer / TechWWF_src / BBSStruct.h next >
C/C++ Source or Header  |  1994-04-07  |  4KB  |  234 lines

  1. #include <WWFProto.h>
  2.  
  3. #define VERSION "0.90"
  4.  
  5. struct CharSet {
  6.     UBYTE *CnvFrom;
  7.     UBYTE *CnvTo;
  8.     UBYTE *Name;
  9.     UBYTE *Extension;
  10. };
  11.  
  12. struct CfgItem {
  13.     UBYTE *id;
  14.     ULONG *var;
  15.     LONG  val;
  16. };
  17.  
  18. struct BBSMsg {
  19.     struct Message Msg;
  20.     int SendingNode;
  21.     UWORD ID;
  22.     void *result;
  23.     int Ret;
  24.     void *data;
  25. };
  26.  
  27. #define ID_BEGINMSGH    11
  28. #define ID_ENDMSGH      12
  29. #define ID_LOADMSG      13
  30. #define ID_SAVEMSG      14
  31. #define ID_UPDATEMSG    15
  32. #define ID_GETMSGAREA   16
  33. #define ID_GETFILEROOT  17
  34. #define ID_UPDATEFILES  18
  35. #define ID_LOADUSER     19
  36. #define ID_SAVEUSER     20
  37. #define ID_GETUSERPATH  21
  38. #define ID_KILLUSER     22
  39. #define ID_GETINDEX     23
  40. #define ID_GETUSERNUM   26
  41. #define ID_FREEDVEC     27
  42. #define ID_INCOPENCOUNT 28
  43. #define ID_DECOPENCOUNT 29
  44. #define ID_GETNUMAREAS  30
  45. #define ID_GETNUMNODES  31
  46. #define ID_GETUSERNAME  37
  47.  
  48. struct LoadedMsg {
  49.     struct FMsg *msg;
  50.     ULONG Length;
  51. };
  52.  
  53. struct FAreaCfg {
  54.     UBYTE *Name;
  55.     int MinAcc;
  56.     int UpAcc;
  57.     int DownAcc;
  58.     int Mask;
  59.     int UpMask;
  60.     int DownMask;
  61.     struct MinList *FreeDL;
  62.     struct MinList *NoUpload;
  63.     UBYTE *Redirect;
  64. };
  65.  
  66. struct DirNode {
  67.     struct Node Node;
  68.     UBYTE *DirName;
  69.     struct MinList *flist;
  70.     struct MinList *dlist;
  71.     struct DirNode *Parent;
  72.     struct FAreaCfg *fc;
  73. };
  74.  
  75. struct AreaCfg {
  76.     int AreaNr;
  77.     UBYTE *Name;
  78.     int Type;
  79.     ULONG LowMsg;
  80.     ULONG HiMsg;
  81.     int MsgFile;
  82.     int MinAcc;
  83.     int ReadAcc;
  84.     int WriteAcc;
  85.     int RPAcc;
  86.     int Mask;
  87.     int ReadMask;
  88.     int WriteMask;
  89.     int RPMask;
  90.     UBYTE *EchoTag;
  91.     UBYTE *Origin;
  92.     ULONG HiWater;
  93.     int NoImport;
  94.     struct MinList *ExportTo;
  95.     struct MinList *Misc;
  96.     struct FidoNode *AKA;
  97. };
  98.  
  99. struct MsgId {
  100.     UWORD Zone;
  101.     UWORD Net;
  102.     UWORD Node;
  103.     UWORD Point;
  104.     ULONG ID;
  105. };
  106.  
  107. struct IndexEntry {
  108.     ULONG MsgNum;
  109.     UWORD FileNum;
  110.     UWORD OffSet;
  111.     ULONG MsgLen;
  112.     struct MsgId MSGID;
  113.     struct MsgId REPLY;
  114. };
  115.  
  116. #define MSG_PRIVATE     0x0001
  117. #define MSG_LOCAL       0x0002
  118. #define MSG_RECEIVED    0x0004
  119. #define MSG_SENT        0x0008
  120. #define MSG_FILEATT     0x0010
  121. #define MSG_KILLSENT    0x0020
  122. #define MSG_DEAD        0x0040
  123.  
  124. struct MemMsg {
  125.     ULONG MsgNum;
  126.     ULONG Original;
  127.     ULONG FirstReply;
  128.     ULONG PrevReply;
  129.     ULONG NextReply;
  130.     UWORD Bits;
  131.     UWORD OrigZone;
  132.     UWORD OrigNet;
  133.     UWORD OrigNode;
  134.     UWORD OrigPoint;
  135.     UWORD DestZone;
  136.     UWORD DestNet;
  137.     UWORD DestNode;
  138.     UWORD DestPoint;
  139.     UBYTE DateTime[20];
  140.     UBYTE *AttFile;
  141.     UBYTE *FromUser;
  142.     UBYTE *ToUser;
  143.     UBYTE *Subject;
  144.     UBYTE *MsgText;
  145. };
  146.  
  147. struct FMsg {
  148.     ULONG MsgNum;
  149.     ULONG Original;
  150.     ULONG FirstReply;
  151.     ULONG PrevReply;
  152.     ULONG NextReply;
  153.     UWORD Bits;
  154.     UWORD OrigZone;
  155.     UWORD OrigNet;
  156.     UWORD OrigNode;
  157.     UWORD OrigPoint;
  158.     UWORD DestZone;
  159.     UWORD DestNet;
  160.     UWORD DestNode;
  161.     UWORD DestPoint;
  162.     UBYTE DateTime[20];
  163. };
  164.  
  165. struct FileNode {
  166.     struct Node Node;
  167.     UBYTE *Name;
  168.     UBYTE *Comment;
  169.     ULONG Size;
  170.     ULONG Prot;
  171.     ULONG Days;
  172.     ULONG Mins;
  173.     ULONG Ticks;
  174.     unsigned Free : 1;
  175. };
  176.  
  177. struct MsgReq {
  178.     int Area;
  179.     ULONG MsgNum;
  180.     struct FMsg *bmsg;
  181.     ULONG MsgLen;
  182.     UBYTE *MText;
  183.     UBYTE *ToUser;
  184. };
  185.  
  186. struct UserVal {
  187.     UWORD Lines;
  188.     WORD Access;
  189.     LONG BytesLeft;
  190.     LONG FilesLeft;
  191.     ULONG BytesDown;
  192.     ULONG FilesDown;
  193.     ULONG BytesUp;
  194.     ULONG FilesUp;
  195.     UWORD ByteRatio;
  196.     UWORD FileRatio;
  197.     ULONG Messages;
  198.     WORD TimeDay;
  199.     WORD TimeCall;
  200.     WORD TimeLeft;
  201.     WORD CallsDay;
  202.     WORD CallsLeft;
  203.     WORD TimeBank;
  204.     WORD MaxTimeBank;
  205.     ULONG AvgCps;
  206.     ULONG AvgCpsMul;
  207.     ULONG Mask;
  208.     ULONG TotalCalls;
  209.     ULONG LastCall;
  210.     unsigned StripCols : 1;
  211.     unsigned SlowTerm : 1;
  212.     unsigned SimpleTerm : 1;
  213.     unsigned StripAll : 1;
  214. };
  215.  
  216. struct BBSUser {
  217.     UBYTE *Name;
  218.     UBYTE *Password;
  219.     UBYTE *CharSet;
  220.     UBYTE *Extension;
  221.     UBYTE *Locale;
  222.     UBYTE *Protocol;
  223.     ULONG *HighRead;
  224.     UBYTE *AMode;
  225.     struct MinList Misc;
  226.     int Number;
  227.     struct UserVal val;
  228. };
  229.  
  230. struct UserReq {
  231.     struct BBSUser *user;
  232.     UBYTE *name;
  233. };
  234.